#!/usr/bin/env node

console.log('你是谁啊')


// 1. 通过命令行交互询问用户问题
// 2. 根据用户回答的结果生成文件
const fs = require('fs')
const path = require('path')
const inquirer = require('inquirer')
// 引入ejs模板引擎
const ejs = require('ejs')

// inquirer.prompt 发起命令行询问
inquirer.prompt([
    {
        // type 表示问题输入方式
        type: 'input',
        // name 表示问题返回值的键
        name: 'name',
        // message表示屏幕上给用户的提示
        message: 'Project name?'
    }
])
.then(anwsers => {
    console.log(anwsers)
    // 模板目录
    const tmplDir = path.join(__dirname, 'templates')
    // 目标目录
    const destDir = process.cwd()
    // 将模板下的文件全部转换到目标目录
    fs.readdir(tmplDir, (err, files) => {
        if (err) {
            throw err
        } else {
            files.forEach(file => {
                // 通过模板引擎渲染文件
                console.log(file)
                ejs.renderFile(path.join(tmplDir, file), anwsers, (err, result) => {
                    if (err) {
                        throw err
                    } else {
                        console.log(result)
                        // 将结果写入目标文件路径
                        fs.writeFileSync(path.join(destDir, file), result)
                    }
                })
            })
        }
    })
})